package singleton.actors;

import singleton.roles.Singleton;

public class MySingleton implements Singleton {
    private static MySingleton mySingleton = new MySingleton();

    /**
     * @author chj
     * private constructor
     * 私有的构造函数
     * 这是为了禁止从MySingleton类的外部调用构造函数。
     * 如果从MySingleton类的外部调用该构造函数，就会出现编译错误。
     * Singleton模式的作用在于可以确保任何情况下都只能生成一个实例，为了达到这一目的，必须设置构造函数为私有的。
     */
    private MySingleton() {
        System.out.println("生成了一个实例。");
    }

    /**
     * @author chj
     * 获取MySingleton类的唯一实例
     * 便于程序从MySingleton类的外部获取MySingleton类的唯一实例。
     * 作为获取MySingleton类的唯一实例的方法，通常情况下都会以“getInstance”为其命名。
     * @return 私有字段mySingleton
     */
    public static MySingleton getInstance() {
        return mySingleton;
    }
}
